﻿using System;
using TheGameClient.Processes;

namespace TheGameClient
{
	public partial class FeaturePublicInterfaceControl : ISystemFeature
	{
		public FeaturePublicInterfaceControl()
		{
			InitializeComponent();
			ProcessId = Guid.NewGuid();
		}

		#region ISystemFeature Members

		public ulong InterfaceId
		{
			get { return new Guid("{7C8B17B9-AB3B-46f6-B6F3-83FC294369A5}").ToLong(); }
		}

		public Guid ProcessId { get; private set; }

		public string ProcessName
		{
			get { return "Public Interface"; }
		}

		public InterfaceCategory Category
		{
			get { return InterfaceCategory.SystemFeature; }
		}

		public ulong SystemId { get; private set; }

		public void Load(ulong systemId)
		{
			SystemId = systemId;
		}

		#endregion
	}

	public class FeaturePublicInterfaceUiFactory : UiFactoryBase
	{
		public override InterfaceCategory UiCategory
		{
			get { return InterfaceCategory.SystemFeature; }
		}

		public override IProcess CreateProgram()
		{
			return new FeaturePublicInterfaceControl();
		}
	}
}